package org.nViron.nvData;

//~--- non-JDK imports --------------------------------------------------------

import org.nViron.nvCommon.nvPosition;
import org.nViron.nvParams.nvContextParamMgr.CONTEXTPARAM;
import org.nViron.nvSim.nvObject;

/**
 * Abstraction base class for data sources that provide data entities
 * @author Roland Haring <p>
 * <script type="text/javascript" src="http://www.ohloh.net/p/376434/widgets/project_basic_stats.js"></script>
 */
public abstract class nvDataSource extends nvObject {
    public nvDataSource(nvDataSourceMgr dataSourceMgr) {
        super(dataSourceMgr);
    }

    public abstract boolean doesProvide(CONTEXTPARAM contextParam);

    public nvDataSourceMgr getDataSourceMgr() {
        return (nvDataSourceMgr) getObjectMgr();
    }

    public abstract boolean init();

    public abstract void updateCameraPos(nvPosition cameraPosition);

    public void updateCursorPosition() {}

    public void updateSearchString() {}

    public abstract void updateUserPos(nvPosition userPosition);

    public void updateUserPosition() {}
}



